iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0

       昨日我們已使用Matplotlib做出簡單的散布圖,今日筆者要學習的是使用Matplotlib做出簡易的直條圖。一般而言,直條圖分為直式與橫式兩種,是資料視覺化中不可或缺的圖像。處理直條圖時需十分小心,直條圖是對於許多人來說很好上手、且容易觀看的圖形,因此若將直條圖偏離數據、又用的時過份花俏,將容易造成視覺上的誤導。

       在製作直條圖之前,一樣先在Juypter 中開新的Notebook。之後,確定直條圖中應呈現的x軸與y軸內容。比如說,筆者想要了解某個議題在各大媒體報紙的刊登數,藉以知道此話題對於各大新聞媒體中的重要程度。則我們可將x 軸設定為新聞媒體的名稱,y軸設定為文章刊登數。接下來同樣在Juypter 中輸入以下述句:

import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt

x軸的部分,可以用labels或是objects等變數名稱表示。之後輸入以下內容:

labels = ['The New York Times ', 'USA Today', 'Financial Times']
y_pos = np.arange(len(labels))
no_data= [18,10, 3] 

bar_width = 0.5

plt.bar(y_pos, no_data, align='center', alpha=1)
plt.xticks(y_pos, labels)

plt.show()


之後,便可產出簡易的直條圖內容: (見圖一)
https://ithelp.ithome.com.tw/upload/images/20220923/201518736pz1aEfSMf.png
圖一: 以Matplotlib繪出的直條圖內容。

如此,便完成了簡易的直條圖了。

【備註一】本篇文章所參考與使用的學習資源如下:

  1. Kyran Dale著,林季岩譯,《資料視覺化:使用Python與JavaScript》,台北: 碁峰資訊,2017年。
  2. Python Tutorials, “Matplotlib Bar chart”, https://pythonspot.com/matplotlib-bar-chart/

【備註二】有關本次學習筆記所使用到的The New York Times 、USA Today與Financial Times的數據資料,擷取與引用自2013年一篇標題為 “ Angelina Jolie’s faulty gene: Newspaper coverage of a celebrity’s preventive bilateral mastectomy in Canada, the United States, and the United Kingdom”的學術文章資料,該篇文章討論美國、英國與加拿大媒體業刊載安潔莉娜‧裘莉(Angelina Jolie, 1975- )預防性切除乳房手術的報導和對於公眾的影響。相關文章可參考: https://www.researchgate.net/publication/259396052_Angelina_Jolie's_faulty_gene_Newspaper_coverage_of_a_celebrity's_preventive_bilateral_mastectomy_in_Canada_the_United_States_and_the_United_Kingdom


上一篇
Day 7: 使用Matplotlib做出基礎散布圖
下一篇
Day 9: Python資料視覺化程式庫「Seaborn」與帶有簡易設計感的直條圖
系列文
學習筆記: 以Python和資料視覺化工具完成簡易資料視覺化(Data Visualization)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言